1. Field of the Invention
The present invention relates to forms processing and more particularly to XForms forms processing.
2. Description of the Related Art
Form based input is the enabling technology which permits the widespread distribution of applications across generic client platforms such as the conventional content browser. In the prototypical distributed application, a markup language defined interface can form the principal conduit through which end users can interact with backend application logic. Often configured in the form of a Web page, the interface can be provided to the content browser by a content server and can take the form either of a pre-defined static page, or a dynamically generated page. Form input fields can be positioned within the interface through which user input can be accepted and posted to the backend application logic for further processing.
Despite the flexibility afforded by hypertext markup language (HTML) defined forms, HTML defined forms mix data, logic and presentation in contravention of standard programming practices. In this regard, the well-known model-view-controller paradigm demands that each of data, logic presentation remain separable. In this way, though the presentation layer may change to suit the user interface requirements of an end user, the underlying logic layer need not also change. To accommodate the increasing complexity of transactions conducted through forms, the XForms specification has been proposed as a presentation independent way of handling interactive Web transactions. Significantly, the XForms specification separates data and logic from presentation in that XForms utilizes the extensible markup language (XML) for data transport and HTML for data display.
Forms technologies are typically bound directly to a presentation specification such as the XHTML specification, the portable document format (PDF) specification and the like. Yet, currently, there is no way to integrate XForms with the Java 2 Platform, Enterprise Edition (J2EE) programming model as interactive J2EE applications assume a server side processing model often complimented with a robust MVC application framework. One such framework is the Java Server Faces (JSF) framework. Designed to be flexible, JSF leverages existing, standard user interface and web-tier concepts without limiting developers to a particular mark-up language, protocol, or client device.
The user interface component classes included with JSF encapsulate the component functionality, not the client-specific presentation, thus enabling JSF user interface components to be rendered to various client devices. By combining the user interface component functionality with customized renderers, which define rendering attributes for a specific user interface component, developers can construct custom tags to a particular client device. As a convenience, JSF provides a custom renderer and a JSP custom tag library for rendering to an HTML client, allowing developers of J2EE applications to use JSF technology in their applications.